1
기초적 함수형 변환
AI019Lesson 3
00:00

엘릭서에서는 계산을 다음과 같은 시퀀스로 간주합니다: 기초적 변환. 데이터는 불변이며, 연산자 = 은 할당을 위한 것이 아니라, 패턴 매칭을 위한 것입니다.

1. 매치 연산자

매치는 값을 패턴에 바인딩할 수 있게 해줍니다. 왼쪽 구조가 오른쪽과 일치하지 않으면 변환이 실패합니다. 엘릭서는 데이터 흐름을 위해 특수한 연산자를 사용합니다: 산술 (+, -, *, /), 비교 (===, !==, >=), 그리고 결합 (<> 문자열용, ++ 리스트용).

2. 'with' 표현식

이 표현식은 조건부 성공을 갖는 다단계 변환을 조율합니다. with 여러 단계의 매치를 연결할 수 있게 합니다. <-. 매치 연산자와 달리, =만약 매치가 실패하면, 표현식은 오류를 발생시키는 대신 비일치하는 값을 반환합니다. <- 표현식은 비일치 값 반환합니다.

[1,2,3][a|_] <- 입력a = 1실패: 입력값 반환

3. 스코프 및 문법

내부적으로, with 는 매크로 또는 함수 호출로 처리됩니다. 이 안에서 바인딩된 변수는 외부 스코프로 유출되지 않습니다. 예를 들어, mean = with count = ..., do: sum/count 은 파생 값 계산을 위한 표현식 기반 방법입니다.

$$\text{평균} = \frac{\sum_{i=1}^{n} x_i}{n}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>